tg-me.com/golang_books/973
Last Update:
🛠 Массовая конвертация изображений с использованием Go и параллелизма
🔍 Проблема
• При запуске маркетплейса векторных изображений [Vectopus.com](https://vectopus.com) разработчики забыли реализовать поддержку формата WebP
• Это ухудшало SEO и замедляло загрузку страниц
• Нужно было конвертировать 500 000+ SVG-файлов в WebP _ретроспективно_
⚙️ Решение: CLI-инструмент на Go
Создан инструмент на Go, обрабатывающий SVG-файлы в несколько этапов:
1. Загрузка SVG из Amazon S3
2. Конвертация в PNG
3. Добавление водяного знака (опционально)
4. Конвертация PNG в WebP
5. Загрузка WebP обратно в S3
6. Обновление метаданных в PostgreSQL
7. Удаление временных файлов
⏱ Задача, рассчитанная на несколько дней, была выполнена за несколько часов.
🗃 Архитектура хранилища
• Все изображения — в Amazon S3 (SVG — приватный бакет, PNG — публичный)
• Метаданные — в PostgreSQL с полиморфными связями
• Новые загрузки обрабатываются через SQS + Lambda + EventBridge
✅ Выводы
• Использование Go дало высокую производительность при низких издержках
• Масштабируемость и надёжность решения
• Параллелизм Go отлично подходит для batch-обработки медиа
📖 Подробнее
BY Golang Books

Share with your friend now:
tg-me.com/golang_books/973